#pragma once

#include "zen_game_node.h"
#include "zen_matrix.h"
#include <vector>
#include <mutex>

namespace Zen
{
	namespace Game
	{
		/*!
		 @class Camera
		 @abstract the camera that bound to scene.
		 */
		class Camera : public NodeWithMatrix
		{
		public:
			Camera() = default;

			void Orthogonal(Point2 size, Point2 lb = {}, float nearZ = -1, float farZ = 1);
			void Perspective(Point2 size, float = 0, float = 0);
		};
	} // namespace Game
} // namespace Zen
